<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // try...catch...finally   JS异常捕获机制


    // 正常情况下 如果代码在执行过程中出现错误, 脚本将会终止,不在向后执行,并抛出错误原因
    // var a = 10;
    // var b = 20;
    // var c = A + b;
    // console.log(c);

    /*
    如果向在代码执行过程中, 对可能出现的错误(代码错误)进行捕获操作, 并可以对错误进行补救 -> try catch finally
    a. 如果某些代码执行过程中可能出现错误  -> 错误捕获  ->1.对错误进行补救  2. 不影响其他代码执行

    语法:

        try{
            尝试执行的代码段(可能出现的错误的代码)
        }catch(err){
            当错误发生时执行的代码段 (err 错误对象:包含错误信息)
        }finally{
            无论代码是否出错,都会执行的代码段   
        }

        try{} 不能单独使用, 配合 catch finally中至少一个
    
    */


    // debugger;
    // try {
    //     var a = 10;
    //     var b = 20;
    //     var c = A + b;
    //     console.log(c);
    // } catch (err) {
    //     // console.dir(err);
    //     console.log("代码出现错误", err);
    //     console.log("代码出现错误", err.name);
    //     console.log("代码出现错误", err.message);

    //     throw err;
    // }
    // for (var i = 1; i <= 10; i++) {
    //     console.log(i);
    // }



    // function getStyle(ele, cssKey) {
    //     if (window.getComputedStyle) {
    //         return window.getComputedStyle(ele)[cssKey];
    //     } else {
    //         return ele.currentStyle[cssKey];
    //     }
    // }

    function getStyle(ele, cssKey) {
        try {
            return window.getComputedStyle(ele)[cssKey];
        } catch (err) {
            return ele.currentStyle[cssKey];
        }
    }





</script>

</html>